/**
 *通用dom操作
 */


// 判断el上是否存在class
export function hasClass(el, className) {
	let reg = new RegExp('(^|\\s)' + className + '(\\s|$)')
	return reg.test(el.className)
}

// 在el上新增class
export function addClass(el, className) {
	if (hasClass(el, className)) {
		return
	}

	let newClass = el.className.split(' ')
	newClass.push(className)
	el.className = newClass.join(' ')
}

// 获取或设置el上的'data-'属性
export function getData(el, name, val) {
	const prefix = 'data-'
	if (val) {
		return el.setAttribute(prefix + name, val)
	}
	return el.getAttribute(prefix + name)
}

// 获取是什么浏览器
let elementStyle = document.createElement('div').style
let vendor = (() => {
	let transformNames = {
		webkit: 'webkitTransform',
		Moz: 'MozTransform',
		O: 'OTransform',
		ms: 'msTransform',
		standard: 'transform'
	}
	for (let key in transformNames) {
		if (elementStyle[transformNames[key]] !== undefined) {
			return key
		}
	}
	return false
})()
// 对不同的浏览器加不同的前缀
export function prefixStyle(style) {
	if (vendor === false) {
		return false
	}
	// 标准的
	if (vendor === 'standard') {
		return style
	}
	return vendor + style.charAt(0).toUpperCase() + style.substr(1)
}
